      SUBROUTINE RDSK1 (NOPER,PRINT)
      LOGICAL PRINT
      LOGICAL NOPER
      LOGICAL IDSWTH
      COMMON RC,U,COM
      COMMON /PRAM/ NMASS,NHARM,NDISK,ICDSK
      COMMON /PARA/ NOPAR,NOPTCY,TOL,NTP(1)
      COMMON /PARB/ NTD(1)
      COMMON /PARC/ PARDEL(1)
      COMMON /CRVDK/ AMASS,IDSWTH,NUMRN(1)
      COMMON /OPT/ NOPAR2
      COMMON /LABEL/ CTYP(3,10),FTYP(3,5)
      DOUBLE PRECISION RC,U
      DOUBLE PRECISION RHO,ZRAD,ZLAT,ZLON,ZRADC
      DOUBLE PRECISION COM(1)
      DIMENSION RHO(6)
      CHARACTER*6 CTYP,FTYP
      NOPAR1=NOPAR-NOPAR2
      I=4*NMASS+2*NHARM*NHARM+NHARM+4*NDISK
      IRNUM=0
      NOPER=.FALSE.
      I0=I-3
      WRITE (6,70)
      DO 40 J=1,ICDSK
        I0=I0+4+IRNUM
        ILAT=I0
        ILON=I0+1
        IRADC=I0+2
        IRNGD=I0+3
        READ (5,100) IRNUM,ZRAD,ZLAT,ZLON,ZRADC
        ZRADC=RC-ZRADC
        ZRAD=ZRAD/RC*180./3.1415926535897932D0
C SIX RINGS ARE THE MAXIMUM
C IRNUM=NUMBER OF RINGS
C ZLAT=LATITUDE OF CENTER OF RINGS
C ZLON=LONGITUDE OF CETER OF RINGS
C ZRADC= DISTANCE OF RING FROM CENTER OF PLANET
C ZRAD = LATERAL EXTENT OF ALL RINGS ON SURFACE OF PLANET
        IF (IRNUM.NE.0) GO TO 10
        WRITE (6,80) J
        NOPER=.TRUE.
        RETURN
   10   WRITE (6,90) J,ZRAD,ZLAT,ZLON,ZRADC
        READ (5,110) (RHO(II),II=1,IRNUM)
        WRITE (6,120)
        DO 20 JJJ=1,IRNUM
          WRITE (6,130) JJJ,RHO(JJJ)
   20     CONTINUE
        COM(ILAT)=(ZLAT)
        COM(ILON)=(ZLON)
        COM(IRADC)=(ZRADC)
        COM(IRNGD)=(ZRAD)
        DO 30 JJ=1,IRNUM
          INDEX=JJ+IRNGD
          COM(INDEX)=RHO(JJ)
   30     CONTINUE
        NUMRN(J)=IRNUM
   40   CONTINUE
      IF (NOPAR2.LT.1) GO TO 60
      WRITE (6,140)
      DO 50 J=1,NOPAR2
        INDX2=NOPAR1+J
        READ (5,160) NTP(INDX2),NTD(INDX2),PARDEL(INDX2)
C
        IRNW=NTP(INDX2)
C
   50   IF (PRINT) WRITE (6,150) INDX2,(CTYP(IQ,IRNW),IQ=1,3),NTD(INDX2)
     1,PARDEL(INDX2)
      IF (NOPTCY.LT.1) READ (5,160) NOPTCY
      IF (NOPTCY.LT.1) NOPTCY=5
      IF (PRINT) WRITE (6,170) NOPTCY
   60 IF (PRINT) WRITE (6,180)
      RETURN
C
   70 FORMAT (//1X,'CURVED DISK INPUT DATA'/2X,'DISK',15X,'SURFACE RADIU
     1S',7X,8HLATITUDE,6X,20HLONGITUDE  DISTANCE ,4HFROM/67X,13HPLANET C
     2ENTER/)
   80 FORMAT (1X,'NUMBER OF RINGS IN DISK',I5,1X'IS ZERO,ERROR')
   90 FORMAT (1X,I5,13X,7D15.8)
  100 FORMAT (I5,4D15.8)
  110 FORMAT (6D12.6)
  120 FORMAT (20X,'DENSITIES OF RINGS'/20X'RING NO.  ','DENSITY')
  130 FORMAT (20X,I5,6X,D12.6)
  140 FORMAT (//10X,'CURVED DISK OPTIMIZATION DATA'//,1X,'NUMBER',7X,'TY
     1PE',10X,'DISK',6X,'INCREMENT',/)
  150 FORMAT (1X,I4,2X,3A6,I6,4X,E15.8)
  160 FORMAT (I5,I5,E15.8)
  170 FORMAT (1X,'NUMBER OF OPTIMIZATION CYCLES =',I5)
  180 FORMAT (1H1)
C
      END
